root = gtk_snapshot_finish (&snapshot);
if (root != NULL)
{
- gtk_inspector_record_render (widget, renderer, window, region, root);
+ gtk_inspector_record_render (widget,
+ renderer,
+ window,
+ region,
+ context,
+ root);
gsk_renderer_render (renderer, root, context);
gsk_render_node_unref (root);
GskRenderer *renderer,
GdkWindow *window,
const cairo_region_t *region,
+ GdkDrawingContext *context,
GskRenderNode *node)
{
GtkInspectorRecording *recording;
gdk_window_get_width (window),
gdk_window_get_height (window) },
region,
+ gdk_drawing_context_get_clip (context),
node);
gtk_inspector_recorder_add_recording (recorder, recording);
g_object_unref (recording);
GskRenderer *renderer,
GdkWindow *window,
const cairo_region_t *region,
+ GdkDrawingContext *context,
GskRenderNode *node);
G_END_DECLS
{
GtkInspectorRenderRecording *recording = GTK_INSPECTOR_RENDER_RECORDING (object);
- g_clear_pointer (&recording->clip, cairo_region_destroy);
+ g_clear_pointer (&recording->clip_region, cairo_region_destroy);
+ g_clear_pointer (&recording->render_region, cairo_region_destroy);
g_clear_pointer (&recording->node, gsk_render_node_unref);
g_clear_pointer (&recording->profiler_info, g_free);
gtk_inspector_render_recording_new (gint64 timestamp,
GskProfiler *profiler,
const GdkRectangle *area,
- const cairo_region_t *clip,
+ const cairo_region_t *clip_region,
+ const cairo_region_t *render_region,
GskRenderNode *node)
{
GtkInspectorRenderRecording *recording;
collect_profiler_info (recording, profiler);
recording->area = *area;
- recording->clip = cairo_region_copy (clip);
+ recording->clip_region = cairo_region_copy (clip_region);
+ recording->render_region = cairo_region_copy (render_region);
recording->node = gsk_render_node_ref (node);
return GTK_INSPECTOR_RECORDING (recording);
const cairo_region_t *
gtk_inspector_render_recording_get_clip_region (GtkInspectorRenderRecording *recording)
{
- return recording->clip;
+ return recording->clip_region;
+}
+
+const cairo_region_t *
+gtk_inspector_render_recording_get_render_region (GtkInspectorRenderRecording *recording)
+{
+ return recording->render_region;
}
const cairo_rectangle_int_t *
GtkInspectorRecording parent;
GdkRectangle area;
- cairo_region_t *clip;
+ cairo_region_t *clip_region;
+ cairo_region_t *render_region;
GskRenderNode *node;
char *profiler_info;
} GtkInspectorRenderRecording;
gtk_inspector_render_recording_new (gint64 timestamp,
GskProfiler *profiler,
const GdkRectangle *area,
- const cairo_region_t *clip,
+ const cairo_region_t *clip_region,
+ const cairo_region_t *render_region,
GskRenderNode *node);
GskRenderNode * gtk_inspector_render_recording_get_node (GtkInspectorRenderRecording *recording);
const cairo_region_t *
gtk_inspector_render_recording_get_clip_region (GtkInspectorRenderRecording *recording);
+const cairo_region_t *
+ gtk_inspector_render_recording_get_render_region (GtkInspectorRenderRecording *recording);
const cairo_rectangle_int_t *
gtk_inspector_render_recording_get_area (GtkInspectorRenderRecording *recording);
const char * gtk_inspector_render_recording_get_profiler_info
GskRenderer *renderer,
GdkWindow *window,
const cairo_region_t *region,
+ GdkDrawingContext *context,
GskRenderNode *node)
{
GtkInspectorWindow *iw;
renderer,
window,
region,
+ context,
node);
}
GskRenderer *renderer,
GdkWindow *window,
const cairo_region_t *region,
+ GdkDrawingContext *context,
GskRenderNode *node);
G_END_DECLS